Lịch sử ALGOL

ALGOL được phát triển bởi một ủy ban của các nhà khoa học máy tính châu Âu và Mỹ trong cuộc họp năm 1958 tại Viện Công nghệ Liên bang Thụy Sĩ tại Zurich (ETH Zurich; xem ALGOL 58). Nó đã chỉ định ba cú pháp khác nhau: cú pháp tham chiếu, cú pháp xuất bản và cú pháp thực hiện. Các cú pháp khác nhau cho phép nó sử dụng các tên và quy ước từ khóa khác nhau cho các dấu thập phân (dấu phẩy so với dấu chấm) cho các ngôn ngữ khác nhau.

ALGOL được sử dụng chủ yếu bởi các nhà khoa học máy tính nghiên cứu ở Hoa Kỳ và ở Châu Âu. Việc sử dụng nó trong các ứng dụng thương mại đã bị cản trở bởi sự vắng mặt của các cơ sở đầu vào / đầu ra tiêu chuẩn trong mô tả của nó và sự thiếu quan tâm đến ngôn ngữ của các nhà cung cấp máy tính lớn khác ngoài Tập đoàn Burroughs. ALGOL 60 tuy nhiên đã trở thành tiêu chuẩn cho việc xuất bản các thuật toán và có ảnh hưởng sâu sắc đến sự phát triển ngôn ngữ trong tương lai.

Cây gia đình của triều đại ngôn ngữ lập trình Algol, Fortran và COBOL

John Backus đã phát triển phương pháp dạng bình thường Backus để mô tả các ngôn ngữ lập trình dành riêng cho ALGOL 58. Nó đã được Peter Naur sửa đổi và mở rộng cho ALGOL 60, và theo đề nghị của Donald Knuth đổi tên thành dạng Backus của Naur. [8]

Peter Naur: "Là biên tập viên của Bản tin ALGOL, tôi bị lôi cuốn vào các cuộc thảo luận quốc tế về ngôn ngữ và được chọn là thành viên của nhóm thiết kế ngôn ngữ châu Âu vào tháng 11 năm 1959. Trong khả năng này, tôi là biên tập viên của báo cáo ALGOL 60, được sản xuất là kết quả của cuộc họp ALGOL 60 tại Paris vào tháng 1 năm 1960. "[9]

Những người sau đây đã tham dự cuộc họp tại Paris (từ 1 đến 16 tháng 1):

Friedrich L. Bauer, Peter Naur, Heinz Rutishauser, Klaus Samelson, Bernard Vauquois, Adriaan van Wijngaarden và Michael Woodger (từ Châu Âu)

John W. Backus, Julien Green, Charles Katz, John McCarthy, Alan J. Perlis và Joseph Henry Wegstein (từ Hoa Kỳ).

Alan Perlis đã đưa ra một mô tả sống động về cuộc họp: "Các cuộc họp đã mệt mỏi, kết thúc và phấn khởi. Người ta trở nên trầm trọng hơn khi những ý tưởng tốt của một người bị loại bỏ cùng với những ý tưởng tồi tệ của người khác. 13 là tuyệt vời. "

ALGOL 60 đã truyền cảm hứng cho nhiều ngôn ngữ đi theo nó. Tony Hoare nhận xét: "Đây là một ngôn ngữ đi trước thời đại, nó không chỉ là một cải tiến so với những người tiền nhiệm mà còn gần như tất cả những người kế nhiệm nó." [10] Ngôn ngữ lập trình Scheme, một biến thể của Lisp đã thông qua khối này cấu trúc và phạm vi từ vựng của ALGOL, cũng đã sử dụng từ ngữ "Báo cáo sửa đổi về lược đồ ngôn ngữ thuật toán" cho các tài liệu tiêu chuẩn của nó để tỏ lòng tôn kính với ALGOL. [11]

Algol và nghiên cứu ngôn ngữ lập trình [chỉnh sửa nguồn]

Như Peter Landin đã lưu ý, ngôn ngữ Algol là ngôn ngữ đầu tiên kết hợp các hiệu ứng mệnh lệnh liền mạch với phép tính lambda (gọi bằng tên). Có lẽ công thức thanh lịch nhất của ngôn ngữ là do John C. Reynold, và nó thể hiện tốt nhất sự thuần khiết cú pháp và ngữ nghĩa của nó. Algol lý tưởng hóa của Reynold cũng đưa ra một lập luận phương pháp thuyết phục về sự phù hợp của các hiệu ứng địa phương trong bối cảnh các ngôn ngữ gọi bằng tên, trái ngược với các hiệu ứng toàn cầu được sử dụng bởi các ngôn ngữ gọi theo giá trị như ML. Tính toàn vẹn về mặt khái niệm của ngôn ngữ khiến nó trở thành một trong những đối tượng chính của nghiên cứu ngữ nghĩa, cùng với Chức năng tính toán lập trình (PCF) và ML. [12]